1. Field of the Invention
The present invention relates to a printing control apparatus, a data processing method for the printing control apparatus, and a storage medium which stores a program readable by a computer.
2. Related Background Art
Conventionally, a printer of type in which data (printing data) concerning printing contents and a printing format is received from a host computer or the like, a bit map to be actually output is formed based on the received data (this operation is called “rendering” hereinafter), and the formed bit map is output to a printing unit (this operation is called “shipping” hereinafter) has been widely put to practical use.
As this type of the printer, there is the printer of type in which the output bit map of one page is obtained by the rendering, and then the shipping is performed. In this case, since a memory for holding the bit map of one page is always necessary, the capacity of the memory must be increased in the printer or the like of which output resolution is high, whereby memory efficiency is lowered, and the apparatus itself becomes extremely expensive.
Thus, the printer of type in which one page is sectioned by a smaller segment unit (band), the shipping is performed after the rendering of one band ends, and the rendering of next band is performed in parallel with the previous shipping (called banding processing) is thought. However, when the bit map is output to an printing unit such as an electrophotographic printing unit which can not stop printing during one page, if a rendering time for the next band becomes longer than a parallel shipping time for the previous band, there is a problem such as causing a phenomenon that a normal image can not be printed (this phenomenon is called “printing overrun” hereinafter).
As above, in such a conventional printing processing system, there is a problem that normal printing and outputting are impossible due to the printing overrun.
An example of a method to solve the above problem will be explained with reference to FIGS. 20 and 21.
FIG. 20 is a block diagram for explaining a structure of a data processing unit of a printing control apparatus to which such the method is applied. Printing data which is received by a host computer 41 through a reception unit 42 is converted by an intermediate data generation unit 43 into a format (i.e., intermediate data) which can be easily processed by a printer. The converted intermediate data is stored in an intermediate data storage area 44. Numeral 47 denotes a vacant memory.
Here, the intermediate data is divided by a band unit and then stored in the intermediate data storage area 44 such that the rendering can be performed to each band later. After the printing data of one page is stored as the intermediate data in the intermediate data storage area 44, the stored data is subjected to the rendering by a rendering unit 48 to obtain an output image, and then the shipping is performed to send the output image to an output unit 411.
It should be noted that, as the feature of the printing control apparatus, temporary band rasters 45 and 46 are secured on memory resources.
Here, the rendering is performed for each band, and thus obtained output image is stored in plural band rasters 49 and 410. Timing of the operation is as follows. Namely, while the output image for one band already subjected to the rendering and stored in the band raster 49 is subjected to the shipping to the output unit 411, the output image for another band is subjected to the rendering by the rendering unit 48 and stored in the band raster 410. On the other hand, while the output image stored in the band raster 410 is subjected to the shipping, the output image for another band is subjected to the rendering and stored in the band raster 49. Namely, as above, the rendering and the shipping are alternately performed.
Here, in the output unit (a shipping unit) 411 of a general electrophotographic printer such as a laser beam printer or the like, a speed of the shipping for one page is constant from its head to its end, and the shipping can not often be stopped during one page. There is some fear that such the printer causes the above printing overrun phenomenon.
FIG. 21 is a timing chart for explaining a printing data processing state in the printing control apparatus of FIG. 20. In FIG. 21, the vertical axis represents a time axis, and the processing operations of the rendering unit 48, the band rasters 49 and 410 and the output unit 411 are shown according to the passage of time.
In FIG. 21, numerals 5-1 to 5-5 respectively denote bands B1 to B5 which are subjected to the rendering by the rendering unit 48, numerals 5-6 to 5-8 denote output images which are stored in the band raster 49, and numerals 5-9 and 5-10 denote output images which are stored in the band raster 410. The output images 5-6, 5-7, 5-8, 5-9 and 5-10 correspond to the bands B1, B4, B7, B2 and B5, respectively.
Numeral 5-13 to 5-19 denotes bands which are subjected to the shipping at the output unit 411. As previously described, the shipping for each band in the printer is not interrupted on the way (i.e., continued), and the shipping processing time for each band is identical with others. Hereinafter, the flow of the printing processing will be explained along the time axis shown in FIG. 21.
The bands B3, B5, B6 and B7 are the bands (i.e., the band causing the printing overrun) to which, e.g., the complicated rendering is necessary. Namely, since it takes long time for the rendering of these bands, the rendering does not end only by the ordinary band processing when the shipping starts.
In order to prevent the printing overrun in the printing control apparatus, the temporary band rasters 45 and 46 are secured, and the rendering is previously (i.e., before a time t0 of FIG. 2) performed to obtain output images 5-11 and 5-12 respectively for the bands B3 and B6 (this operation is called “prerendering” hereinafter).
The band B1 (band 5-1) at the head of the page is subjected to the rendering at the time t0 to a time t1 by the rendering unit 48, and the obtained output image 5-6 is stored in the band raster 49.
Then the band B1 (band 5-13) is subjected to the shipping at the time t1 to a time t2 by the output unit 411, and at the same time the rendering of the band B2 (band 5-2) by the rendering unit 48 starts at the time t1. The obtained output image 5-9 is stored in the band raster 410.
Since the band B3 was already subjected to the rendering and has been held as the output image 5-11 in the temporary band raster 45, the rendering unit 48 performs the rendering to the band B4 (bands 5-3 and 57) at the time t2 when the shipping from the band raster 49 ends. In the shipping (band 5-15) of the band B3 at a time t3, the output image 5-11 already subjected to the rendering is used, the printing overrun does not occur.
At the time t3 when the shipping of the band B2 (band output 5-14) ends, since the rendering of the band B4 (band 5-3) to the band raster 49 has ended, the rendering unit 48 can start the rendering of the band B5 (bands 5-4 and 5-10) to the band raster 410.
When the shipping of the band B4 (bands 5-3 and 57) ends at a time t4 to a time t5 (band 5-16), the shipping of the band B5 (bands 5-4 and 5-10) to the output unit 411 starts (band 5-17). As described above, the time necessary for the rendering of the band B5 exceeds the shipping time of one band. However, since the rendering of the band B5 starts at the time t3, the rendering of the band B5 can end until the time t5 when the shipping of the band B5 starts, whereby the printing overrun does not occur.
Further, since the band B6 is subjected to the rendering and held in the temporary band raster 46 (band 5-12) before the shipping, the printing overrun does not occur (band 5-18). Further, although the rendering time for the band B7 (band 5-5) is long (band 5-8), since the rendering starts at the time t5, the rendering ends before shipping start timing (time t7) of the band B7, whereby the printing overrun does not occur even in the band B7 (band 5-19).
Thus, in the above printing control apparatus, after the prerendering is performed to the temporary band raster, the rendering and the shipping are performed in parallel by using the plural band rasters.
It should be noted that the band rasters 49 and 410 are the areas which are permanently secured in the printer because they are used for any page, while the temporary band rasters 45 and 46 are the areas which are temporarily secured by only necessary number for the necessary page. For this reason, in the printing control apparatus, the temporary band raster is secured in the same memory area as the intermediate data storage area 44, and the secured temporary band raster is deleted from the memory resources after the shipping of the page ends.
By such a method as above, all the pages can be printed and output without causing any printing overrun.
However, according to technological advancement such as colorization, making to multivalue, and making to high resolution in recent years, a rendering time has become longer, and a band raster size necessary for one band has become larger. Thus, the total quantity (i.e., the number) of the temporary band rasters necessary for preventing the printing overrun has become huge even in such the method.
Further, in the above printer, a printing procedure for one page can be roughly divided into following three steps.
First, in a data reception step (first step), the printing data of one page is received and stored in the memory of the printer. In a second step, the prerendering is performed to the band raster and the temporary band raster before the rendering and the shipping are performed. In a rendering/shipping step (third step), as the shipping is performed from the band raster already subjected to the rendering, the rendering of the band not yet subjected to the rendering is performed to the vacant band raster.
The relation of these steps and the memory capacity in the printer in case of printing the plural pages will be explained with reference to FIG. 22.
FIG. 22 is a view for explaining a memory using state in the printing control apparatus. In FIG. 22, the vertical axis represents a memory using quantity, the horizontal axis represents a time, and the vertical length of the memory using quantity represents the size of the printing data in the memory.
Further, in FIG. 22, the arrows which are parallel with the time axis represent the states of the above three steps (i.e., data reception, prerendering and rendering/shipping) for the first to fourth pages to be printed.
In FIG. 22, the first page is formed in a time (A1), the second page is formed in a time (A-2), the third page is formed in a time (A-3) to a time (A-4), and the fourth page is formed in a time (A-5).
The printing data of the first page is larger in size than the printing data of the second page.
First, in the time (A-1), the printing data of the first page is received and stored in the memory. Of course, the printing data can be stored in the form of intermediate data. After the printing data of the first page is stored in the memory entirely, the printing data of the second page is received and stored in the memory in the time (A-2).
The rendering unit 48 performs the prerendering to the band raster according to the already-received data of the first page, in parallel with the reception of the printing data of the second page.
After the prerendering for the first page ends, the rendering by the rendering unit 48 and the shipping are performed in parallel, and the data of the first page is output to a sheet.
Meanwhile, in the time (A-3), after the printing data reception of the second page ends, the printing data reception of the third page starts.
However, all the printing data of the first to third pages can not be stored in the entire memory of the printing control apparatus in this example. Namely, the entire memory is completely used in the middle of the data storage of the third page.
Thus, the data reception of the third page is interrupted. Then, after the rendering/shipping for the first page ends, the printing data of the first page in the memory already unnecessary because of the printing end of the first page is deleted to secure the storage area for the remaining printing data of the third page.
After then, in the time (A-4), the remaining printing data of the third page is stored in the memory, and at the same time the printing data of the second page already received is subjected to the rendering by the rendering unit 48.
After the printing data reception of the third page ends, the printing data of the fourth page is received in the time (A-5).
Also, in this case, the printing data of the fourth page can not be stored in the memory entirely, whereby the data reception is interrupted.
Further, after the prerendering for the second page ends, the rendering unit subsequently starts the rendering/shipping for the second page. The, after the rendering/shipping for the second page ends, the printing data reception of the fourth page is restarted.
As above, in case of printing the plural pages in the limited memory resources, the printing data reception waits for the rendering/shipping. In this connection, since a shipping speed is extremely lower than a printing data transfer speed, it is an unavoidable loss of the processing time to wait for the shipping as long as the memory resources are limited.
Here, the sum of the printing data and the temporary raster for preventing the printing overrun corresponds to the size of each page. Thus, when there are a lot of pages to which it takes the rendering time due to the complicated rendering or the like, since the size of the band raster is large, there is a problem that a frequency of the shipping waiting increases.
Incidentally, the loss time due to the shipping waiting is proportional to the sum of the prerendering time and the rendering/shipping time.
For example, it is assumed that the prerendering time for the first page is Tprel, the rendering/shipping time for the first page is Tshpl (constant), and the data reception time for the second page is Trcv2. In this case, the shipping waiting time for the second page in FIG. 22 is given by the expression Tprel+Tshpl−Trcv2. Since the rendering/shipping time Tshpl is constant, it can be understood that the shipping waiting time is significantly influenced by the prerendering time Tprel.
Therefore, when there are a lot of pages to which the complicated rendering is necessary, since a prerendering time to eliminate the printing overrun is prolonged, the shipping waiting time is resultingly prolonged (i.e., thruput decreases).
As above, according to the conventional printing overrun elimination method, although the printing overrun can be eliminated, the shipping waiting time becomes long, whereby there is resultingly a problem that performance of the entire printer remarkably decreases.